Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Побудова рухомих зображень

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Кафедра АТ

Інформація про роботу

Рік:
2003
Тип роботи:
Графіки
Предмет:
Інші
Група:
ІБ

Частина тексту файла

Міністерство освіти і науки України Національний університет “Львівська політехніка” кафедра АТ Звіт до лабораторної роботи №4 з курсу “Комп’ютерна графіка” на тему: “Побудова рухомих зображень” Варіант №16 1.Мета роботи: Набути практичних навиків в складанні прграм для побудови рухомих зображень на екрані комп’ютера за допомогою матричних перетворень. 2. Завдання: 2.1 Вивчити основні матричні перетворення на площині для побудови рухомих зображень. 2.2 Вивести результуючу матрицю руху для свого варіанту завдання, визначеного нижче. 2.3 Написати програму мовою Турбо-Паскаль, що дозволяє сформувати на екрані комп’ютера рухоме зображення. 2.4 Текст завдання: Затухаючі коливання кола з діаметром 20 , висота 100. 3. Блок-схеми алгоритмів програми 3.1 3.2 3.3 3.1 Деталізована блок-схема блоку № 1 (ініціалізація графічного режиму) загальної блок-схеми: 1 2 3 ні ні так 4 5 3.2 Деталізована блок-схема блоку № 2 (рух квадрату) загальної блок-схеми: 1 2 3 4 5 6 7 8 9 10 11 так ні так ні так ні 3.3 Деталізована блок-схема блоку № 3 (завершення графічного режиму) загальної блок-схеми: 1 4. Список ідентифікаторів, змінних процедур і функцій. H – висота з якої падає коло D – діаметр кола n – приймає занчення 1 або 0, використовується для зміни сторінок. Процедура IntGraphMode ініціалізує графічний режим. Процедура CloseGraphMode - завершує роботу графічного режиму. 5. Остаточно відлагоджений текст програми: uses graph,crt; Procedure IntGraphMode(Mode:integer); var Driver, Error: integer; begin Driver:=Detect; InitGraph(Driver, Mode, ''); Error:=GraphResult; if Error <> grOk then begin writeln(GraphErrorMsg(Error)); halt(1); end; end; {******************************} Procedure CloseGraphMode; begin CloseGraph; end; {******************************} var x:array[1..180] of integer; y:array[1..180] of integer; j,r,xc,yc,i,n,M:integer; alfa:real; begin R:=90; { расстояние от вершин до центра xc, yc } xc:= GetMaxX div 2; yc:= GetMaxY div 2; for j:= 1 to 180 do begin alfa:= (j+1) * pi/90; x[j]:= xc + round(R * cos(-alfa)); y[j]:= yc + round(R * sin(-alfa)); end; repeat for j:=1 to 180 do begin for i:= 1 to 40 do begin if (i mod 2)>0 then N:=0 else N:=1; if (i mod 2)>0 then M:=1 else M:=0; SetActivePage(N); MoveTo(x[j]+round(sqrt(4000)*cos(i*pi/90)),y[j]+round(sqrt(4000)*sin(i*pi/90))); LineTo(x[j]+round(sqrt(4000)*cos(i*pi/90+pi/2)),y[j]+round(sqrt(4000)*sin(i*pi/90+pi/2))); LineTo(x[j]+round(sqrt(4000)*cos(i*pi/90+pi)),y[j]+round(sqrt(4000)*sin(i*pi/90+pi))); LineTo(x[j]+round(sqrt(4000)*cos(i*pi/90+(3*pi/2))),y[j]+round(sqrt(4000)*sin(i*pi/90+(3*pi/2)))); LineTo(x[j]+round(sqrt(4000)*cos(i*pi/90+2*pi)),y[j]+round(sqrt(4000)*sin(i*pi/90+2*pi))); Circle(xc,yc,R); delay(90); { SetVisualPage(m); } delay(7300); cleardevice; Circle(Xc,Yc,R); i:=i+1; if keypressed then halt(1); end; j:=j+1; end; until keypressed; end; {******************************} begin IntGraphMode(VGAMed); Kvadrat; CloseGraphMode; end.
Антиботан аватар за замовчуванням

01.01.1970 03:01

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини